12#ifndef ROC_SNDIO_BACKEND_DISPATCHER_H_
13#define ROC_SNDIO_BACKEND_DISPATCHER_H_
61 IBackend* select_backend_(
const char* driver,
const char* inout,
int flags);
62 IBackend* probe_backends_(
const char* driver,
const char* inout,
int flags);
64 void add_backend_(
IBackend& backend);
66 enum { MaxBackends = 8 };
Memory allocator interface.
Base class for non-copyable objects.
static T & instance()
Get singleton instance.
ISource * open_source(core::IAllocator &allocator, const char *driver, const char *input, const Config &config)
Create and open a source.
ISink * open_sink(core::IAllocator &allocator, const char *driver, const char *output, const Config &config)
Create and open a sink.
void set_frame_size(size_t size)
Set internal buffer size for all backends that need it.
bool get_device_drivers(core::Array< DriverInfo > &arr)
Append supported drivers from all registered backends to array.
bool get_file_drivers(core::Array< DriverInfo > &arr)
Append supported file formats from all registered backends to array.
static BackendDispatcher & instance()
Get instance.
Memory allocator interface.
Shared ownership intrusive pointer.